New Journey

2020-03-08

I hesitated for a long time, wondering whether to write these things down, when to write them, and whether it was appropriate to write them now… If I can’t write what I want to write on my independent blog, I am bound by the matters of life, and the blog becomes meaningless. I always worry that if my colleagues or leaders accidentally see that I want to leave the company, or that I had the idea of leaving the company a long time ago, they might think I’m dissatisfied with the company. Or I worry that recruiters will see my disloyalty to the company, see me bad-mouthing the company, and wonder if I will have a bunch of opinions about the new company. After all, I always put the blog URL on my resume.

Perhaps there really is nothing to worry about, and I’m just overthinking it.

Expectations

The job I hope for might require a bit of skill and a bit of luck. When HR asked me why I wanted to change jobs, my initial response was to seek better opportunities, not because the current company is bad, but because I want something better. Specifically, I want better development prospects, more growth in terms of technology or business… until HR asked me, does your current platform lack opportunities, does it have poor prospects, or are you not fully occupied?

I rethought the question about why I wanted to change jobs. I wasn’t lying; the current company is indeed fine, nothing particularly bad, but nothing particularly great either. I thought about it, and the real reason should be that as a developer and technical support role, I am not of great use in the current company’s situation. The company needs more client-pulling salespeople, technical researchers who can write patents (needed for bids), rather than skilled workers who can handle the dirty work well.

I don’t have abundant development experience, but since the era of static and dynamic websites, I have been interested in the vast world of the internet. From transistors to analog circuits, digital circuits, integrated chips, microcontrollers, assembly language, Raspberry Pi, C language, Java, JavaScript, MVC, MVVM, FP… Besides web development, I know a little about Android development, hybrid development with H5, and desktop application development based on Node.js… Studying an electronics major in university didn’t hinder my understanding of computers. Instead, I learned some electronic circuits and communication coding that computer majors might not study. Actually, I know very little, just a few concepts, but deep down, I always feel powerful, with an inexplicable enthusiasm, making me feel I can solve more problems. In fact, I do hope to have more opportunities to solve more problems and make significant progress in technology.

Sometimes I feel the unfairness of the world. I can’t imagine a front-end developer who can’t handle SVN conflicts, can’t understand two-dimensional arrays; a back-end developer who hasn’t used Docker, doesn’t understand RBAC permission models; a Java developer who doesn’t know the difference between String.valueOf() and (String), can directly pass Map into JSONObject being considered a qualified programmer. I can solve technical problems that colleagues can’t, have broader technical knowledge than colleagues, and even have more willingness to work hard, but just because I have fewer years of work experience and others have more, I can only earn a salary equivalent to my experience. In fact, my exposure to web development may be longer than some small workshop interviewers (which I’ve really encountered). Maybe my colleagues are all lucky, getting on the ship before the internet wave receded.

I’m not saying I’m an egomaniac. I know very well that I don’t have enough strength. I don’t understand JVM tuning, can’t memorize design patterns, haven’t read the source code of Spring or Redis, don’t understand operating system principles (I’ve read two books, copied one, didn’t remember), don’t understand algorithms (medium level dead), don’t have a good academic background (double non-top schools). I don’t even know what I can do. But when interviewers ask me about the usage of ECharts, “isolation levels of transactions,” “conditions for deadlock,” “principles of Map,” though I stutter a bit… I also hesitate, should I remember the answers to questions that can be found in the first Baidu search result in Chinese? There are so many problems and so much knowledge in the world.

Interview-Oriented Learning

For the questions that need to be remembered, I hope to solve them naturally. Just like doing development, after stepping on many pitfalls, you become a senior programmer, after reading many error logs, you can instantly understand the reasons for exceptions. I can attend more interviews, learn what questions companies ask, what kind of answers they expect, continuously accumulate experience, and practice my language expression skills. After the interview, I can make up for deficiencies and supplement my knowledge. The recent epidemic provides an excellent opportunity as almost all companies can’t conduct on-site interviews and can only interview via phone or video. I don’t even need to take leave from the company, except that it slightly affects my work mentality, but I guarantee not to fall behind schedule.

Here again, I worry that if the new company sees these words, they might think I attend interviews just to gain experience. After all, I really do put the URL on my resume. In most cases, no one will look, but what if…

For me now, development prospects are much more important than salary. So the most ideal situation is to join a company with a recognizable name. A compromise would be a company with a similar reputation to the current one but with a slightly higher salary. The bottom line is two thousand more, considering the cost of probation, resignation, onboarding, and handover, two thousand shouldn’t be an exaggeration. In the worst-case scenario, if I am laid off by the company, have to find another job, and can’t find a suitable opportunity, I might just find any job to ensure survival.

The Last Straw

I want to talk about the current company. During the autumn recruitment stage at school, HR told me that the salary would be considered for a raise after two years for fresh graduates. Actually, I understood from the beginning that I couldn’t wait for two years. After starting the internship, my mentor told me that they raise salaries once a year.

So after I was forced to change departments (the company was not doing well at the time and laid off many people, with half of the fresh graduates who hadn’t joined yet leaving), I thought I must wait until after the New Year. There were two things I hoped for and waited for in my heart, one was the year-end bonus, the other was the salary raise (general adjustment). It wasn’t about how much I could get, but I wanted to understand the company’s operation, how performance worked, how year-end bonuses were distributed, whether they were linked to performance, how salary raises were negotiated, or how it worked. I even fantasized about the leader having a conversation with me about work, performance, future plans, what I should say, how to present myself, showing my abilities to the leader. Having never experienced these, I just wanted to go through it once.

Of course, the reality was disappointing. I learned that some people in the department hadn’t had a raise in three or four years, which I reluctantly accepted. But on the last day before the New Year holiday, I felt extremely angry because there was no year-end bonus. There had been year-end bonuses in previous years, but not this year, which was understandable due to the company’s poor performance. The problem was that the company issued the performance bonus for the current quarter on that day (we get the previous quarter’s performance bonus in the next quarter). It wasn’t because the company had a sudden change of heart and decided to issue the current quarter’s performance bonus; if they wanted to, it should have been issued with the monthly salary. What instantly came to my mind was “three in the morning and four in the evening” (a Chinese idiom meaning to fool people by changing the way things are presented). The company treated us like monkeys, and we should feel humiliated in terms of dignity and respect. I couldn’t continue to endure such a situation where we were at their mercy, without any announcements, systems, or any form of notification regarding salary, general adjustment, and year-end bonuses. I wanted to know the rules, how to work hard, how to present myself, but there was nothing, absolutely nothing; it all depended on the leader’s mood. I couldn’t improve my income through my own efforts, which is why I see no hope in the current company. I don’t even know who my immediate supervisor is. Until now, the HR system still points to a name that has left the company. When will they come to talk to me about my salary?

Blockchain Is Not a Trend

In the past few days, I learned the difference between “shared knowledge” and “common knowledge,” and once again understood the principle in “The Emperor’s New Clothes.” I mention blockchain because I currently belong to the blockchain team, and the company has placed some resources in blockchain.

I know blockchain is useless.
You know blockchain is useless.
He knows blockchain is useless.

This is shared knowledge.

I know you and he know blockchain is useless.
You know he and I know blockchain is useless.
He knows you and I know blockchain is useless.

This is common knowledge.

Everyone knows, but is not sure if others know, which is shared knowledge. When someone crosses the gap and tells everyone that their thoughts are consistent, and then everyone knows that everyone’s thoughts are consistent, shared knowledge becomes common knowledge. Currently, blockchain is in the stage of shared knowledge because many people say how blockchain is, and you can’t deny its value. If you say blockchain has no value, it means you don’t understand, you have no wisdom, you